地图动画

最后更新时间:2019年6月17日

有时我们需要重点显示地图上某一区域,希望通过某个操作直接展示此区域的地图,并具备一定的旋转、倾斜变化效果,针对此种情况,MapView提供地图动画接口,根据设置的地图位置参数一步实现从当前位置跳转到所设置的位置,并且具有动画渐变的效果,提供给用户最好的体验。

//地图位置(参数:地图中心、地图分辨率、旋转中心、旋转角度、倾斜角度)
MGSMapPosition *position=[[MGSMapPosition alloc] initWithCenter:MGSDotMake(12734840.911782857, 3568731.256785354) resolution:0.462913295 rotateCenter:MGSDotMake(12734947.334961485, 3568606.054069660) rotateAngle:-19.78676 slopeAngle:58.281357];

//方法一:动画到指定位置(中心点为视图的绝对中心),第二个参数:动画持续的时间;第三个参数:地图动画回调
[_mapView animatePosition:position duration:3000 callback:^(BOOL normalFinish) {
    //可判断动画是否完成
}];

//方法二:动画到指定位置(中心点为视图的指定中心)。第二个参数:自定义的中心点
[_mapView animatePosition:position viewPoint:CGPointMake(100, 100) duration:1000 callback:^(BOOL normalFinish) {
    //可判断动画是否完成
}];